package com.xzh.homeliving.commodity.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xzh.common.utils.PageUtils;
import com.xzh.homeliving.commodity.entity.AtEntity;
import com.xzh.homeliving.commodity.entity.AttrAtRelationEntity;

import java.util.List;
import java.util.Map;

/**
 * 商品属性表
 *
 * @author xzh
 * @email ranpis02@qq.com
 * @date 2024-01-31 10:42:04
 */
public interface AtService extends IService<AtEntity> {

    PageUtils queryPage(Map<String, Object> params);
    /**
     * 增加接口，用于保存商品属性
     */
    void saveAttrRelation(AtEntity atEntity);
    /**
     * 增加接口，用于处理修改时的级联问题
     */
    void updateAttrRelation(AtEntity atEntity);

    /**
     * 增加接口，用于处理删除时的级联问题
     */
    void deleteAttrRelation(Long[] ids);

    /**
     * 根据分类categoryId + 查询条件key 进行分页检索[基本属性]的 api
     */
    PageUtils queryBaseAttrPage(Map<String, Object> params, Long categoryId);
    /**
     * 针对销售属性的检索
     */
    PageUtils querySaleAttrPage(Map<String, Object> params, Long categoryId);
    /**
     * 增加接口，用于通过属性组id,获取该属性组关联的所有基本属性
     */
    List<AtEntity> getRelationAttr(Long attrGroupId);
    /**
     * 增加接口，用于批量删除属性和属性组的关联关系
     */
    void deleteAttrGroupRelation(AttrAtRelationEntity[] attrAtRelationEntities);
    /**
     * 获取属性组可以关联的基本属性
     */
    PageUtils getBaseAttrFromAttrGroup(Map<String, Object> params, Long attrGroupId);
}

